Shape design and, in particular, the modeling of surfaces is fundamental in computer aided design (CAD), computer aided manufacturing (CAM) as well as in computer graphics and animation. The methods to model surfaces are based on computational geometry which either use polygon meshes, subdivision or non-uniform rational B-splines (NURBS) to express a surface shape. Polygon meshes and subdivision-based models are popular because of their simple structure. Their drawbacks are that a lot of parameters are involved and the resulting shapes are not smooth. The most widely used technology in computational geometry is based on NURBS. Some of the advantages of NURBS are that they allow interactive and smooth free-form surface modeling for organic shape design. They can also exactly represent conic sections such as circles and ellipses, which are important shape primitives used in shape modeling processes to construct cylinders, spheres, tori and ellipsoids. Further, there exist many efficient and stable numerical algorithms to construct NURBS objects. Aside from their convenient properties, one of the main reasons why NURBS are widely used is that they have been recognized early on by the industry. Because NURBS cannot model surfaces with arbitrary topology as they are restricted to have a rectangular parameter domain, in practice complex objects are modeled by concatenating several NURBS patches.
A longstanding and well known problem in NURBS design is that in practice, it is generally impossible to construct physically tight boundaries between different NURBS patches, except for very rare cases. The reason is that due to the non-uniform alignment of the spline nodes and the different degrees of NURBS used to construct adjacent surface patches, the curves that have to be merged to create an overlapping boundary at the intersection between two surfaces are not equal. Another drawback of NURBS is that they are not locally refinable. This implies that in the process of shape modeling, when a user needs to add more flexibility to a region by increasing the number of control points, this is only possible by globally adding control points. This results in an excess of parameters and increases the complexity of the model where it is not required.
Although NURBS allow the representation of conic sections, e.g., circles, ellipses, parabolas, hyperbolas, it is not possible to use them to represent transcendental curves such as helices, spirals or cyloids. Furthermore, there are weights in the NURBS formulation that have no physical interpretation and are non-intuitive to handle. In interactive shape modeling they are typically hidden to the user, who only interacts with the control points.
Another fundamental limitation of NURBS and T-splines, which are a generalization of NURBS, is that they are not interpolatory except for the degree 0 and 1, which corresponds to a non-smooth polygon-based model. This is a problem when dealing with complicated, possibly twisted, organic surfaces because the control points do not lie on the surface of the object and hence, might cause non-intuitive behavior. FIG. 1 illustrates the difference between surface modeling with and without interpolatory control points. Two models of a human brain are shown. It can be seen that the modeling of the right surface becomes very difficult when the complexity of the surface increases because the control points do not directly lie on the surface as opposed to the case shown on the left.
Furthermore, NURBS do not provide direct access to control quantities that depend on higher order derivatives of an object such as tangent planes or curvature. Therefore, in NURBS and T-spline modeling, the user can only control a shape by changing the vertices of the control polygon. Because these vertices do not interpolate the shape, the more control points are used, the more difficult it becomes for the user to associate a control point with the corresponding region of the surface that is affected.
Accordingly, in light of the above described deficiencies in methods and systems for modeling, displaying, modifying, and animating graphical objects and their surfaces, advanced technologies and methods are desired, to further improve display, manipulation, and modification of graphical objects, for example to create watertight boundaries between two graphical objects.